package com.example.bigwork.service;

import com.example.bigwork.dto.request.UserLoginRequest;
import com.example.bigwork.dto.request.UserRegisterRequest;
import com.example.bigwork.dto.request.UserUpdateRequest;
import com.example.bigwork.dto.response.UserResponse;
import com.example.bigwork.entity.User;

public interface UserService {
    UserResponse registerUser(UserRegisterRequest registerRequest);
    UserResponse loginUser(UserLoginRequest loginRequest); // Could return a token DTO in a real app
    UserResponse getUserById(Long id);
    UserResponse updateUser(Long id, UserUpdateRequest updateRequest);
    // Internal helper
    User findUserEntityById(Long id);
}